#import "@preview/cetz:0.4.2"
#import "@preview/cetz-plot:0.1.3"

#import "../lib.typ": cjc, variables, tables, show_body_style, show_figure, author, institute
#import "@preview/lilaq:0.3.0" as lq
#import "@preview/cuti:0.3.0": fakebold

#let inst_bjtu = institute(
  "(北京交通大学 软件学院，北京 100044)",
  "(School of Software Engineering, Beijing JiaoTong University, Beijing 100044)"
)

#show: show_figure

#pagebreak(weak: true)

#show: cjc.with(
  title_zh: [那一天的咕咕嘎嘎起来],
  abstract_zh: [
    咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎
  ],
  keywords_zh: ("咕咕嘎嘎", "噶噶咕咕", "咕嘎咕嘎", "嘎咕嘎咕", "Ciallo～(∠・ω< )⌒☆"),
  title_en: [The Day of Guguugaga],
  abstract_en: [
    #lorem(100)
  ],
  keywords_en: (
    "guguugaga",
    "gagagugu",
    "gugaguga",
    "gagugagu",
    "Ciallo～(∠・ω< )⌒☆",
  ),
  authors: (
    author("张三", "ZHANG San", insts: inst_bjtu),
    author("李四", "LI Si", insts: inst_bjtu),
    author("王五", "WANG Wu", insts: inst_bjtu),
  ),
  bib: bibliography("bibliography.bib", style: "计算机学报.csl"),
)

#v(8pt)
= 引言

== 研究背景

#h(2em)软件缺陷（Software Defect）是指软件在需求、设计、编码或实现过程中出现的偏差，使得软件的实际运行行为与预期功能或设计目标不一致。广义上，软件缺陷不仅包括功能错误，还包括性能问题、安全漏洞、可维护性差等非功能性问题@JSJX202501007。在软件工程领域，软件缺陷被视为影响软件质量和用户体验的核心问题。

软件缺陷具有极大的危害，不仅会降低软件系统的可靠性和稳定性，还可能带来严重的经济损失和安全风险。例如，在关键任务系统或金融、医疗等领域中，一个小小的缺陷都可能引发系统崩溃、数据丢失或隐私泄露，造成无法估量的损害。因此，如何有效识别、预测和修复软件缺陷，一直是软件工程研究与实践中的重要议题@mahesh_kumar_thota_survey_2020。

传统的软件缺陷预测方法主要基于历史缺陷数据和静态代码特征 @aa__2023 ，利用机器学习或统计模型来识别潜在缺陷模块。这类方法在一定程度上提升了测试与维护效率，但普遍存在两个问题：

......

== 现有研究进展

#h(2em)即时软件缺陷预测技术提出时间较早，已经积累了一定的研究成果。近三年来的研究主要聚焦于对已有方法的改进或提出一种全新的性能更优的方法。2023年，针对模型可能会出现错误预测的情况，Zhao等人提出使用conformal prediction (CP)作为严格的不确定性量化方法，可以确保95%的正确率 @shahini_empirical_2024 ；针对同一问题，2024年Ismail等人引入了深度Q网络，在仅用20%努力的情况下，真实缺陷预测准确率提升高达27% @ismail_toward_2024 ；由于传统机器学习在JIT-SDP任务上的表现似乎已达到瓶颈，2023年Bryan等人构建了由开发者和源文件组成的贡献图，使用基于图的机器学习对表示缺陷易发变更的边进行分类，在14个开源项目上测试了此方法，比当时最先进的JIT-SDP方法的F1提升了152%，Matthews相关系数提高了3% @bryan_graph-based_2023；即时软件缺陷预测技术存在两个主要问题：无法有效利用代码变更中的“+”和“-”行标签的语义信息且忽略了与缺陷无关的文件引入的噪声，针对以上问题，2023年Zhang等人 @zhang_justtime_2023 提出一种联合方法JIT-FF，联合了行标签和文件过滤，实验结果表明JIT-FF在AUC、F1等指标上显著优于多个基线模型，证明了行标签融合和文件过滤方法的有效性；为了进一步提高预测准确性，2025年Liu等人提出了一种人机协同的在线JIT-SDP方法，将SQA人员的反馈纳入模型训练过程，显著提高了模型的预测性能，还提出了一种基于k折分布式自助法和Wilcoxon符号秩检验的性能评估框架，增强了模型评估的可信度 @liu_human---loop_2025 ;

== 阿巴阿巴阿巴

#h(2em)@tbl:table-name 是一个一个一个表格表格表格啊啊啊啊啊啊啊啊啊啊啊。

#figure(
  tables.tri_table(
    columns: (4em, auto, auto, auto, auto),
    table.header([方法类别], [代表性工作], [主要优势], [主要局限], [适用场景]),
    [传统机器学习], [Kamei 等 @__2019], [可解释性强；计算开销低；特征易提取], [依赖人工特征工程；难以捕获深层语义], [数据量有限；需要可解释性的场景],
    [深度学习], [DeepJIT\ DeepICP @zhao_deep_2023\ 图神经网络 @bryan_graph-based_2023], [自动特征学习；捕获复杂模式；适应概念漂移], [需要大量训练数据；可解释性差；计算开销高], [大规模项目；在线学习场景；复杂协作模式],
    [预训练模型], [BiCC-BERT @jiang_just--time_2025\ JIT-CF @ju_jit-cf_2025\ PEFT @abu_talib_parameter-efficient_2024], [利用预训练知识；语义理解能力强；双模态学习], [依赖高质量预训练；微调成本较高；可能过拟合], [代码语义理解；提交信息分析；数据不足场景],
    [特定场景方法], [KCC @DAI2025112214\ COTL @jiang_mobile_2024\ DQN @ismail_toward_2024], [针对性强；解决特定问题；实用性高], [泛化能力有限；场景依赖性强；方法复杂], [跨项目预测；移动应用；高误报场景；细粒度预测],
  ),
  caption: "JIT-SDP 方法分类对比",
)<table-name>

= 总结

#h(2em)#lorem(100)